The networking of users, e.g., in the form of control units, sensor systems and actuator systems with the aid of a communication link of a communication system has increased dramatically in recent years in the construction of modern motor vehicles or also in machine construction, especially in the field of machine tools, thus in automation as well. In this context, synergistic effects may be achieved by the distribution of functions to a plurality of users. These are called distributed systems. Increasingly, the communication between the various users is taking place via a communication link, in the form of a data bus, of a communication system configured as a bus system. Communication traffic on the bus system, access and reception mechanisms, as well as error handling are regulated by a protocol. One known protocol for this purpose is the CAN (Controller Area Network) protocol or also the TTCAN (Time Triggered CAN) protocol, as well as the FlexRay protocol, the FlexRay protocol specification v2.1 presently being the basis.
FlexRay is a rapid, deterministic and fault-tolerant bus system, particularly for use in a motor vehicle. The FlexRay protocol operates according to the method of Time Division Multiple Access (TDMA), in which the users (or components), or the messages to be transmitted, are assigned fixed time slots or time windows in which they have an exclusive access to the communication link. This is comparably implemented in the case of the TTCAN as well. In this context, the time slots repeat in a fixed cycle, the so-called communication cycle, so that the instant at which a message is transmitted via the data bus can be predicted exactly, and the bus access takes place deterministically.
To optimally utilize the bandwidth for the transmission of messages on the bus system, FlexRay subdivides the communication cycle into a static part, the so-called static segment, and a dynamic part, the so-called dynamic segment. The time slots having a length predefined in a fixed manner are in the static part at the beginning of a bus cycle. In the dynamic part, the time slots are assigned dynamically. Therein, the exclusive bus access in each case is permitted for only a brief time, so-called minislots. Only if one of the users accesses the bus within a minislot is the corresponding time slot lengthened to the time duration needed for the data transmission by the user. Consequently, bandwidth is thus only used up if it is also actually needed for transmitting data. The dynamic segment may be used for event-driven data transmission.
In a FlexRay communication system, communication takes place via two physically separate lines, also known as channels, with a data rate in each instance of 10 MB per second maximum at present. The two channels correspond to the physical layer, in particular of the OSI (open system architecture) layer model. They are used chiefly for the redundant and therefore fault-tolerant transmission of messages, but can also transmit different messages, whereby at present the data rate can then be doubled to 20 MB. However, FlexRay can, of course, be operated with lower data rates as well.
To realize synchronous functions and to optimize the bandwidth by small spacings between two messages, the distributed components in the communication network, thus the users in the communication system, need a common time base, the so-called global time. The users have their own local clocks, which are synchronized to the global time. Synchronization messages are transmitted in the static part of the cycle for synchronizing the clocks. The clocks are synchronized at the end of each communication cycle during the so-called network idle time (NIT). With the aid of a special algorithm corresponding to the FlexRay specification, the local clock times of the components are corrected so that all local clocks run in synchronization with a global clock. This synchronization is accomplished comparably in a TTCAN network as well.
A FlexRay user, also known as a FlexRay network node, contains a user processor, thus a host processor, a FlexRay controller or communication controller, a connection to the physical layer, the bus driver (BD), as well as a bus guardian (BG) when implementing a bus monitoring. The host processor furnishes and processes the data which are transmitted and received via the FlexRay communication controller. Messages or message objects can be configured with, e.g., up to 254 data bytes for communication in a FlexRay network. A communication module, in particular a communication controller, is now used to transmit these messages or message objects between the physical layer, thus the communication link, and the host processor.
The communication module has a message memory in which message objects to be sent by a user assigned to the communication module or message objects to be received by the user are stored temporarily before they are relayed to the communication link for sending, or to the host processor for further processing. The number and size of the data fields of the message memory are configured during a configuration phase or reconfiguration phase of the communication system.
In the related art, the message memory is searched by a message handler at the beginning of each time slot in order to ascertain those data fields in which messages, which are to be sent or received via the active channel in the current communication cycle and/or in the current time slot, are stored or still to be stored. Thus, when searching the message memory, for instance, a data field is ascertained which is provided for a message that is intended to be received in the current communication cycle and in the current time slot via the active channel considered. After the message is received, it is then stored in the data field ascertained. In the same way, when searching the message memory, for instance, a data field may be ascertained in which a message is stored that is intended to be sent in the current communication cycle and in the current time slot via the active channel considered. This message is then taken from the data field ascertained and relayed to the communication link for sending.
However, it has proven to be disadvantageous that the search run takes up a relatively great amount of time, particularly in the case of larger message memories, and delays may occur in receiving or sending messages due to the search run. Because the entire message memory is searched in each time slot, the real-time capability of the communication system may be impaired.